Bloqueando ataques de força bruta.
Para bloquear ataques de bruteforce, existe algumas ferramentas como denyhosts e fail2ban, que bloqueiam, temporariamente, o endereço IP do atacante para qualquer tentativa de acesso via SSH. O fail2ban pode ser configurado para bloquear acesso a outros serviços como Apache, Asterisk e MySQL-auth, entre outros.
Você também pode personalizar as ações a serem tomadas, mais do que apenas bloquear o atacante no iptables, como enviar e-mails de notificações de alerta.
Fail2ban
Utilize o gerenciador de pacotes em nossa Distribuição Linux:
- Para CentOS, RedHat, Fedora e similares:
root@cpro36320:~# yum install fail2ban
- Para Debian, Ubuntu, Mint e similares:
root@cpro36320:~# apt-get install fail2ban
O arquivo de configuração do fail2ban fica em /etc/fail2ban/jail.conf. Você deve se ater aos seguintes parâmetros:
- ignoreip: define que redes serão ignoradas do monitoramento. Deve ser declarado no formato de CIDR, ex.: 192.168.1.0/255.255.255.0 ou 192.168.1.0/24;
- bantime: tempo em segundos que o atacante será banido;
- maxretry: define o máximo de tentativas permitidas;
- banaction: define qual será a ação que o fail2ban vai tomar, o padrão é bloquear o acesso a todas as portas via iptables.
Essas configurações são para qualquer serviço e ficam dentro de
- enable: habilita o serviço;
- port: define a porta a ser monitorada para o serviço;
- filter: define o filtro que será usado pelo ao analisar os arquivos de logs;
- logpath: define o caminho para o arquivo de log que será usado durante o monitoramento;
- maxretry: usado para sobreescrever o valor padrão de tentativas global.
O mais interessante é que você pode ver os endereços IPs sendo bloqueados e desbloqueados no log:
root@cpro36320:~# tail -f /var/log/fail2ban.log